1
node发送邮件非常简单,这里只做qq的演示,你可以举一反三.

使用nodemailer包

let transporter = nodemailer.createTransport({
  // 使用qq发送邮件
  // 更多请查看支持列表:https://nodemailer.com/smtp/well-known/
  service: 'qq',
  port: 465, // SMTP 端口
  secureConnection: true, // 使用了 SSL
  auth: {
    user: '751734566@qq.com',
    // 这里密码不是qq密码,是你设置的smtp授权码
    // 获取qq授权码请看:https://jingyan.baidu.com/article/6079ad0eb14aaa28fe86db5a.html
    pass: 'xxxxxxxx',
  }
});

接下来我们设置我们到发送内容

let mailOpt= {
  from: '"test" <xxxxxx@qq.com>',  // 你到qq邮箱地址
  to: 'xxxx@qq.com', // 接受人,可以群发填写多个逗号分隔
  subject: 'Hello', // 主题名(邮件名)
  // 可以发送text或者html格式,2选1
  // text: 'Hello world?', // 纯文本
  html: '<b>Hello world?</b>' // html
};

如果我们想发一个稍微漂亮到邮件怎么办?
我们可以使用html模板来实现

const template = require('art-template');

let html = template(__dirname + '/mail_temp.html', obj) // mail_temp.html为你想使用到页面模板,obj为你的参数

// 例如
obj = {
    name : 'test',
    phone : '183xxxxxxxx',
    time : new Date()
}
<section>
    新用户:{{name}}({{phone}})于{{time}}进行了注册.
</section>

所有准备完成,让我们发送邮件吧!

// 执行发送
transporter.sendMail(mailOptions, (error, info) => {
  if (error) {
    return console.log(error);
  }
  console.log('邮件已发送成功,邮件id: %s', info.messageId);
});

文档参考
nodemailer : https://www.npmjs.com/package...
art-template : https://aui.github.io/art-tem...


hold_baby
3k 声望21 粉丝